﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComunesMGI.Enums;
using ComunesMGI.Constantes;


namespace ComunesMGI.DataTypes
{
    [Serializable]
    public class DataWPReporte
    {
        private int _id;
        private string _nombre;
        private DateTime _fechaInicio;
        private DateTime _fechaEstimadaEntrega;
        private DateTime _fechaEntrega;
        private DateTime _fechaFin;
        private DataEstadoWP _estado;
        private int _idSistema;
        private string _nomSistema;
        private string _nomCliente;


        public DataWPReporte(int id, string nombre, DateTime fechaIni, DateTime fechaEstEnt, DateTime fechaEnt, DateTime fechaFin, DataEstadoWP estado, int idSistema, string nomsis, string nomcli)
        {
            this._id = id;
            this._nombre = nombre;
            this._fechaInicio = fechaIni;
            this._fechaFin = fechaFin;
            this._fechaEstimadaEntrega = fechaEstEnt;
            this._fechaEntrega = fechaEnt;
            this._estado = estado;
            this._idSistema = idSistema;
            this._nomSistema = nomsis;
            this._nomCliente = nomcli;
        }

        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        public string Nombre
        {
            get { return _nombre; }
            set { _nombre = value; }
        }

        public DateTime FechaInicio
        {
            get { return _fechaInicio; }
            set { _fechaInicio = value; }
        }

        public DateTime FechaEstimadaEntrega
        {
            get { return _fechaEstimadaEntrega; }
            set { _fechaEstimadaEntrega = value; }
        }

        public DateTime FechaEntrega
        {
            get { return _fechaEntrega; }
            set { _fechaEntrega = value; }
        }

        public DateTime FechaFin
        {
            get { return _fechaFin; }
            set { _fechaFin = value; }
        }

        public DataEstadoWP Estado
        {
            get { return _estado; }
            set { _estado = value; }
        }

        public int IdSistema
        {
            get { return _idSistema; }
            set { _idSistema = value; }
        }

        public string Nomsistema
        {
            get { return _nomSistema; }
            set { _nomSistema = value; }
        }

        public string NomCliente
        {
            get { return _nomCliente; }
            set { _nomCliente = value; }
        }

        public override bool Equals(Object obj)
        {
            DataWPReporte data = (DataWPReporte)obj;
            return this._nombre.Equals(data.Nombre) && this._fechaInicio.Equals(data.FechaInicio) && this._fechaEstimadaEntrega.Equals(data.FechaEstimadaEntrega)
                && this.FechaEntrega.Equals(data.FechaEntrega) && this._idSistema==data.IdSistema && this._id==data.Id && this.Estado.Equals(data.Estado) && this.FechaFin.Equals(data.FechaFin);
             

        }
    }
}
